home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ozsi 13
/
Ozsi_13_199x_Tide_Side_A.d64
/
dir booter basic
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
3KB
|
96 lines
0 poke808,234
1 clr:dimpr$(144):dimv$(33)
2 poke53280,0:poke53281,0:poke646,15:goto17
3 print"":fori=0to15:forj=0tonc:printtab(j*20);spc(1);v$(i+j*16);
4 nextj:print:nexti:poke198,0:rl%=0:cl%=0:gosub16
5 getcc$:on-(cc$="")goto5:z%=asc(cc$):tc%=cl%:tr%=rl%
6 if(z%and127)=29thencl%=(cl%+1+2*(z%=157))andnc
7 if(z%and127)=17thenrl%=(rl%+1+2*(z%=145))and15
8 ifz%=13thenr$="next":return
9 ifz%=133thenr$="list":return
10 ifz%=135thenr$="?"+chr$(34)+"[147]"+chr$(34):return
11 ifz%=136thenr$="run":return
12 ifv$(rl%+cl%*16)=""then:goto6
13 if(tc%<>cl%)or(tr%<>rl%)thengosub15
14 goto 5
15 poke214,tr%+2:print:printtab(tc%*20);spc(1);v$(tr%+16*tc%)
16 poke214,rl%+2:print:printtab(cl%*20);spc(1);"";v$(rl%+16*cl%):return
17 print"[147]":nc=1:nv=(nc+1)*16-1:ma=-1
18 print" loading directory"
19 open15,8,15,"i":input#15,e1$,e2$,e3$,e4$
20 ife1$<>"00"thenprint"[147]error:"e1$;e2$;e3$;e4$:end
21 poke53265,peek(53265)and239:close15:open 15,8,15,"ui-":open2,8,2,"#"
22 print#15,"u1: 2 0 18 0":print#15,"b-p";2;144:he$=""
23 forx=1to16:get#2,x$:he$=he$+x$:next
24 print#15,"b-p";2;162:id$=""
25 forx=1to2:get#2,x$:id$=id$+x$:next
26 close2:close15
27 he$="name:"+he$:he$=he$+"id:"+id$+" v1.0"
28 open 15,8,15,"i0":open2,8,2,"#":t=18:s=1
29 print#15,"u1:";2;0;t;s:print#15,"b-p";2;0
30 get#2,t$,s$:t$=t$+chr$(0):t=asc(t$):s$=s$+chr$(0):s=asc(s$)
31 forx=0to7:print#15,"b-p";2;x*32+2
32 get#2,x$,t$,s$:x$=x$+chr$(0):a%=asc(x$)and15:ifa%<>2then34
33 ma=ma+1:fory=0to15:get#2,x$:pr$(ma)=pr$(ma)+x$:next y
34 next x:if t=0then36
35 goto29
36 close2::print#15,"ui+":close15:poke53265,peek(53265)or16
37 np=0:sl=0
38 sl=sl+np:np=ma-sl+1:ifnp>nvthennp=nv
39 ifnp=0then43
40 fori=1tonv:v$(i)="":next:fori=0tonp:v$(i)=pr$(sl+i):next:gosub58
41 gosub3:ifr$="next"then38
42 poke139,128:goto51
43 gosub70
44 v$(1)="see new disk":v$(2)="restart this disk":v$(3)="quit"
45 np=3:gosub83
46 on rl% gosub 48,49,50
47 goto 43
48 run
49 nc=1:goto37
50 print"[147]":end
51 poke53265,peek(53265)and239:close15:open 15,8,15,"ui-":close15
52 print"[147]load"chr$(34)v$(rl%+16*cl%)chr$(34)",8,1"
53 print"p[207]53265,p[197](53265)or16:o[208]15,8,15,"chr$(34)"ui+"chr$(34)":"r$
54 poke631,19:poke632,13:poke633,13:poke198,3:end
55 rem*----------------------------*
56 rem* output menu screen *
57 rem*----------------------------*
58 printchr$(142);:print"[147][176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]"
59 print"[194]";tab((40-len(he$))/2)he$;tab(38)"[194]"
60 print"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][178][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]"
61 forx=1to16:print"[194]";tab(19)"[194]";tab(38)"[194]":next
62 print"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][177][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]"
63 forx=1to2:print"[194]";tab(38)"[194]":next
64 bm$="f1=load/list f5=load f7=load/run":
65 xt=(40-len(bm$))/2:print"[194]";tab(xt)bm$;tab(38)"[194]"
66 print"[173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]":return
67 rem*----------------------------*
68 rem* output main screen *
69 rem*----------------------------*
70 printchr$(142);:print"[147][176][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][174]"
71 tm$="no more programs on disk dude!"
72 print"[194]";tab((40-len(tm$))/2)tm$;tab(38)"[194]"
73 print"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]"
74 forx=1to19:print"[194]";tab(38)"[194]":next
75 ifp=1thenforx=1to2:print"[194]";tab(38)"[194]":next:p=0:goto79
76 print"[171][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][179]"
77 bm$="select option"
78 print"[194]";tab((40-len(bm$))/2)bm$;tab(38)"[194]"
79 print"[173][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][189]";:return
80 rem*----------------------------*
81 rem cursor get
82 rem*----------------------------*
83 print"":fori=1tonp:printtab(10);v$(i):next
84 poke198,0:rl%=1:gosub94
85 getcc$:on-(cc$="")goto85
86 z%=asc(cc$):tr%=rl%
87 if(z%and127)=17thenrl%=(rl%+1+2*(z%=145))
88 ifrl%>npthenrl%=rl%-np
89 ifrl%=0orrl%=-1thenrl%=1
90 ifz%=13thenreturn
91 iftr%<>rl%thengosub93
92 goto85
93 poke214,tr%+2:print:printtab(10);v$(tr%)
94 poke214,rl%+2:print:printtab(10);"";v$(rl%):return